Bereik van variabelen
Home

Bereik van variabelen

Bereik van variabelen

In het Engels heet dat de scope of variables.

Filmpje

JS - variable scope

Beschrijving

Variabelen in JavaScript niet zijn gedefinieerd in een blok scope, maar in een functie scope. Dit betekent dat als een variabele is gedefinieerd binnen een functie, ze niet zichtbaar is buiten de functie.

Maar als een variable gedefinieerd is binnen een if- of een for-blok van de code, is die wel zichtbaar buiten het blok, in tegenstelling tot bijvoorbeeld C#. De term "globale variabelen" beschrijft variabelen die gedefinieerd zijn buiten elke functie (in de globale programma-code).

De code binnen een functie heeft toegang tot alle globale variabelen evenals tot zijn eigen lokale variabelen.

In het volgende voorbeeld:

heeft de f() functie toegang tot de globale variabele;

buiten de f() functie bestaat de lokale variabele niet:

var global_var = 1;
function f() {
   var local_var = 3;
   global_var++;
   return global_var;
}

We proberen dat uit:

JS - variable scope
JS - variable scope

Als je geen gebruik van var maakt om een variabele te declareren, wordt aan deze variabele automatisch een globaal bereik toegewezen.

Tenslotte moeten we nog vermelden dat alle globale variabelen eigenlijk eigenschappen zijn van het window object. Daarover meer op BOM - Global object.

Tips

  1. Beperk het aantal globale variabelen om botsingen tussen de namen van variabelen te vermijden. Als twee mensen werken op twee verschillende functies in hetzelfde script, en ze besluiten beide om voor hun globale variabele dezelfde naam gebruiken leidt tot onverwachte resultaten en moeilijk op te sporen bugs.
  2. declareer dus altijd variabelen met de instructie var.
  3. Gebruik een "één var" patroon. Declareer altijd alle variabelen die nodig zijn in je functie aan het begin van de functie. Dan moet je slechts naar één plaats kijken om te zien welke variabelen er gebruikt worden.

JI
2016-10-08 00:40:27